/**
 * Created by yfyuan on 2016/10/28.
 */
'use strict';
cBoard.service('chartGaugeService', function () {

    this.render = function ( containerDom, option, scope, persist,drill,linkageInfo,theme) {
        var param = {"container":containerDom,"theme":theme};
        return new CBoardEChartRender(param, option).chart(null, persist,linkageInfo);
    };

    this.parseOption = function (data) {

        var config = data.chartConfig;
        var casted_keys = data.keys;
        var casted_values = data.series;
        var aggregate_data = data.data;
        var newValuesConfig = data.seriesConfig;

        var series = new Array();
        console.log(data);
        //option.kpiValue = aggregate_data.length > 0 ? aggregate_data[0][0] : 'N/A';
        //if (config.values[0].format) {
        //    option.kpiValue = numbro(option.kpiValue).format(config.values[0].format);
        //}
        var name = config.values[0].name;
        var format = config.values[0].format;
        if(format){
            var arr = format.split(",");
            var min = parseFloat(arr[0]);
            var max = parseFloat(arr[1]);
        }else{
            var min =0;
            var max = 100;
        }

        var series ={ name: '',
            type: 'gauge',
            min: min,
            max: max,
            data:[{value: aggregate_data, name: name}]
        };
        //var string_keys = _.map(casted_keys, function (key) {
        //    return key.join('-');
        //});
        //var string_value = _.map(casted_values, function (value) {
        //    return value.join('-');
        //});
        //var b = 100 / (casted_values.length * 9 + 1);
        var titles = [];
        //for (var i = 0; i < aggregate_data.length; i++) {
        //    var s = {
        //        name: string_value[i],
        //        type: 'pie',
        //        center: [5 * b + i * 9 * b + '%', '50%'],
        //        data: [],
        //        //roseType: 'angle'
        //        itemStyle: {
        //            normal: {
        //                label: {
        //                    show: true,
        //                    //position:'inside',
        //                    formatter: '{b}: {d}%'
        //                }
        //            },
        //            labelLine: {show: true}
        //        }
        //    };
        //    titles.push({
        //        textAlign: 'center', textStyle: {
        //            fontSize: 12,
        //            fontWeight: 'normal'
        //        }, text: string_value[i], left: 5 * b + i * 9 * b + '%', top: '90%'
        //    });
        //    for (var j = 0; j < aggregate_data[i].length; j++) {
        //        s.data.push({
        //            name: string_keys[j],
        //            value: _.isUndefined(aggregate_data[i][j]) ? 0 : aggregate_data[i][j]
        //        });
        //    }
        //    series.push(s);
        //}
        var echartOption = {
           // title: titles,
           // legend: {
           //     orient: 'vertical',
           //     left: 'left',
           //     data: string_keys
           // },
            tooltip: {
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c} ({d})"
            },
            toolbox: false,
            series: series
        };
        //tooltip : {
        //    formatter: "{a} <br/>{b} : {c}%"
        //},
        //toolbox: {
        //    feature: {
        //        restore: {},
        //        saveAsImage: {}
        //    }
        //},
        //series: [
        //    {
        //        name: '业务指标',
        //        type: 'gauge',
        //        detail: {formatter:'{value}%'},
        //        data: [{value: 550, name: '完成率'}]
        //    }

        return echartOption;
    };
});